//
//  UIDevice+IDs.swift
//  TTCOM
//
//  Created by Toj on 7/19/23.
//

import Foundation

// MARK: - iOS全部型号
/**
 * 官方地址: https://www.theiphonewiki.com/wiki/Models
 */
public let iOSNames = [
    
    // iPad
    "iPad1,1": "iPad",
    "iPad1,2": "iPad 3G",
    "iPad2,1": "iPad 2 (WiFi)",
    "iPad2,2": "iPad 2",
    "iPad2,3": "iPad 2 (CDMA)",
    "iPad2,4": "iPad 2",
    "iPad3,1": "iPad (3rd)(WiFi)", // 3rd generation
    "iPad3,2": "iPad (3rd)", // 3th generation
    "iPad3,3": "iPad (3rd)", // 3th generation
    "iPad3,4": "iPad (4th)(WiFi)", // 4th generation
    "iPad3,5": "iPad (4th)", // 4th generation
    "iPad3,6": "iPad (4th)(GSM+CDMA)", // 4th generation
    "iPad6,11": "iPad (5th)", // 5th generation
    "iPad6,12": "iPad (5th)", // 5th generation
    "iPad7,5" : "iPad (6th)", // 6th generation
    "iPad7,6" : "iPad (6th)", // 6th generation
    "iPad7,11": "iPad (7th)", // 7th generation
    "iPad7,12": "iPad (7th)", // 7th generation
    "iPad11,6": "iPad (8th)", // 8th generation
    "iPad11,7": "iPad (8th)", // 8th generation
    "iPad12,1": "iPad (9th)", // 9th generation
    "iPad12,2": "iPad (9th)", // 9th generation
    "iPad13,18": "iPad (10th)", // 10th generation
    "iPad13,19": "iPad (10th)", // 10th generation
    
    // iPad Air
    "iPad4,1": "iPad Air (WiFi)",
    "iPad4,2": "iPad Air (Cellular)",
    "iPad4,3": "iPad Air",
    "iPad5,3": "iPad Air 2", // 2nd generation
    "iPad5,4": "iPad Air 2", // 2nd generation
    "iPad11,3" : "iPad Air (3rd)", // 3rd generation
    "iPad11,4" : "iPad Air (3rd)", // 3rd generation
    "iPad13,1" : "iPad Air (4th)", // 4th generation
    "iPad13,2" : "iPad Air (4th)", // 4th generation
    "iPad13,16": "iPad Air (5th)", // 5th generation
    "iPad13,17": "iPad Air (5th)", // 5th generation
    
    // iPad Pro
    "iPad6,7": "iPad Pro (12.9-inch)", // 12.9-inch
    "iPad6,8": "iPad Pro (12.9-inch)", // 12.9-inch
    "iPad6,3": "iPad Pro (9.7-inch)", // 9.7-inch
    "iPad6,4": "iPad Pro (9.7-inch)", // 9.7-inch
    "iPad7,1": "iPad Pro (12.9-inch)(2nd)", // 12.9-inch, 2nd generation
    "iPad7,2": "iPad Pro (12.9-inch)(2nd)", // 12.9-inch, 2nd generation
    "iPad7,3": "iPad Pro (10.5-inch)", // 10.5-inch
    "iPad7,4": "iPad Pro (10.5-inch)", // 10.5-inch
    "iPad8,1": "iPad Pro (11-inch)", // 11-inch
    "iPad8,2": "iPad Pro (11-inch)", // 11-inch
    "iPad8,3": "iPad Pro (11-inch)", // 11-inch
    "iPad8,4": "iPad Pro (11-inch)", // 11-inch
    
    "iPad8,5": "iPad Pro (12.9-inch)(3rd)", // 12.9-inch, 3rd generation
    "iPad8,6": "iPad Pro (12.9-inch)(3rd)", // 12.9-inch, 3rd generation
    "iPad8,7": "iPad Pro (12.9-inch)(3rd)", // 12.9-inch, 3rd generation
    "iPad8,8": "iPad Pro (12.9-inch)(3rd)", // 12.9-inch, 3rd generation
    "iPad8,9" : "iPad Pro (11-inch)(2nd)",  // 11-inch, 2nd generation
    "iPad8,10": "iPad Pro (11-inch)(2nd)",  // 11-inch, 2nd generation
    "iPad8,11": "iPad Pro (12.9-inch)(4th)", // 12.9-inch, 4th generation
    "iPad8,12": "iPad Pro (12.9-inch)(4th)", // 12.9-inch, 4th generation
    "iPad13,4" : "iPad Pro (11-inch)(3rd)", // 11-inch, 3rd generation
    "iPad13,5" : "iPad Pro (11-inch)(3rd)", // 11-inch, 3rd generation
    "iPad13,6" : "iPad Pro (11-inch)(3rd)", // 11-inch, 3rd generation
    "iPad13,7" : "iPad Pro (11-inch)(3rd)", // 11-inch, 3rd generation
    "iPad13,8" : "iPad Pro (12.9-inch)(5th)", // 12.9-inch, 5th generation
    "iPad13,9" : "iPad Pro (12.9-inch)(5th)", // 12.9-inch, 5th generation
    "iPad13,10": "iPad Pro (12.9-inch)(5th)", // 12.9-inch, 5th generation
    "iPad13,11": "iPad Pro (12.9-inch)(5th)", // 12.9-inch, 5th generation
    
    // iPad mini
    "iPad2,5" : "iPad Mini (WiFi)",
    "iPad2,6" : "iPad Mini",
    "iPad2,7" : "iPad Mini (GSM+CDMA)",
    "iPad4,4" : "iPad Mini 2 (WiFi)",
    "iPad4,5" : "iPad Mini 2 (Cellular)",
    "iPad4,6" : "iPad Mini 2",
    "iPad4,7" : "iPad Mini 3",
    "iPad4,8" : "iPad Mini 3",
    "iPad4,9" : "iPad Mini 3",
    "iPad5,1" : "iPad Mini 4 (WiFi)",
    "iPad5,2" : "iPad Mini 4 (LTE)",
    "iPad11,1": "iPad mini (5th)", // 5th generation
    "iPad11,2": "iPad mini (5th)", // 5th generation
    "iPad14,1": "iPad mini (6th)", // 6th generation
    "iPad14,2": "iPad mini (6th)", // 6th generation
    
    // iPhone
    "iPhone1,1": "iPhone 2G",
    
    "iPhone1,2": "iPhone 3G",
    "iPhone2,1": "iPhone 3GS",
    
    "iPhone3,1": "iPhone 4",
    "iPhone3,2": "Verizon iPhone 4",
    "iPhone3,3": "iPhone 4",
    "iPhone4,1": "iPhone 4S",
    
    "iPhone5,1": "iPhone 5",
    "iPhone5,2": "iPhone 5 (GSM+CDMA)",
    "iPhone5,3": "iPhone 5c (GSM)",
    "iPhone5,4": "iPhone 5c (GSM+CDMA)",
    "iPhone6,1": "iPhone 5s (GSM)",
    "iPhone6,2": "iPhone 5s (GSM+CDMA)",
    
    "iPhone7,2": "iPhone 6",
    "iPhone7,1": "iPhone 6 Plus",
    "iPhone8,1": "iPhone 6s",
    "iPhone8,2": "iPhone 6s Plus",
    
    "iPhone8,4": "iPhone SE 1st", // (1st generation)
    "iPhone9,1": "iPhone 7", // 国行, 日版, 港行
    "iPhone9,3": "iPhone 7", // 美版, 台版
    "iPhone9,2": "iPhone 7 Plus", // 国行, 港行
    "iPhone9,4": "iPhone 7 Plus", // 美版, 台版
    
    "iPhone10,1": "iPhone 8", // 国行(A1863), 日行(A1906)
    "iPhone10,4": "iPhone 8", // 美版(Global/ A1905)
    "iPhone10,2": "iPhone 8 Plus", // 国行(A1864), 日行(A1898)
    "iPhone10,5": "iPhone 8 Plus", // 美版(Global/ A1897)
    
    "iPhone10,3": "iPhone X", // 国行(A1865), 日行(A1902)
    "iPhone10,6": "iPhone X", // 美版(Global/ A1901)
    "iPhone11,8": "iPhone XR",
    "iPhone11,2": "iPhone XS",
    "iPhone11,4": "iPhone XS Max",
    "iPhone11,6": "iPhone XS Max",
    
    "iPhone12,1": "iPhone 11",
    "iPhone12,3": "iPhone 11 Pro",
    "iPhone12,5": "iPhone 11 Pro Max",
    
    "iPhone12,8": "iPhone SE 2nd", // (2nd generation)
    "iPhone13,1": "iPhone 12 mini",
    "iPhone13,2": "iPhone 12",
    "iPhone13,3": "iPhone 12 Pro",
    "iPhone13,4": "iPhone 12 Pro Max",
    
    "iPhone14,4": "iPhone 13 mini",
    "iPhone14,5": "iPhone 13",
    "iPhone14,2": "iPhone 13 Pro",
    "iPhone14,3": "iPhone 13 Pro Max",
    
    "iPhone14,6": "iPhone SE 3rd", // (3rd generation)
    "iPhone14,7": "iPhone 14",
    "iPhone14,8": "iPhone 14 Plus",
    "iPhone15,2": "iPhone 14 Pro",
    "iPhone15,3": "iPhone 14 Pro Max",
    
    // iPod
    "iPod1,1": "iPod Touch", // 1st generation
    "iPod2,1": "iPod Touch (2nd)", // 2nd generation
    "iPod3,1": "iPod Touch (3rd)", // 3rd generation
    "iPod4,1": "iPod Touch (4th)", // 4th generation
    "iPod5,1": "iPod Touch (5th)", // 5th generation
    "iPod7,1": "iPod Touch (6th)", // 6th generation
    "iPod9,1": "iPod Touch (7th)", // 7th generation
    
    // 模拟器
    "i386": "iOS Simulator",
    "x86_64" : "iOS Simulator"
]

// MARK: - iPhone机型
/**
 * 官方地址: https://www.theiphonewiki.com/wiki/Models
 */
public let iPhoneNames = [
    "iPhone1,1": "iPhone 2G",
    
    "iPhone1,2": "iPhone 3G",
    "iPhone2,1": "iPhone 3GS",
    
    "iPhone3,1": "iPhone 4",
    "iPhone3,2": "Verizon iPhone 4",
    "iPhone3,3": "iPhone 4",
    "iPhone4,1": "iPhone 4S",
    
    "iPhone5,1": "iPhone 5",
    "iPhone5,2": "iPhone 5 (GSM+CDMA)",
    "iPhone5,3": "iPhone 5c (GSM)",
    "iPhone5,4": "iPhone 5c (GSM+CDMA)",
    "iPhone6,1": "iPhone 5s (GSM)",
    "iPhone6,2": "iPhone 5s (GSM+CDMA)",
    
    "iPhone7,2": "iPhone 6",
    "iPhone7,1": "iPhone 6 Plus",
    "iPhone8,1": "iPhone 6s",
    "iPhone8,2": "iPhone 6s Plus",
    
    "iPhone8,4": "iPhone SE 1st", // (1st generation)
    "iPhone9,1": "iPhone 7", // 国行, 日版, 港行
    "iPhone9,3": "iPhone 7", // 美版, 台版
    "iPhone9,2": "iPhone 7 Plus", // 国行, 港行
    "iPhone9,4": "iPhone 7 Plus", // 美版, 台版
    
    "iPhone10,1": "iPhone 8", // 国行(A1863), 日行(A1906)
    "iPhone10,4": "iPhone 8", // 美版(Global/ A1905)
    "iPhone10,2": "iPhone 8 Plus", // 国行(A1864), 日行(A1898)
    "iPhone10,5": "iPhone 8 Plus", // 美版(Global/ A1897)
    
    "iPhone10,3": "iPhone X", // 国行(A1865), 日行(A1902)
    "iPhone10,6": "iPhone X", // 美版(Global/ A1901)
    "iPhone11,8": "iPhone XR",
    "iPhone11,2": "iPhone XS",
    "iPhone11,4": "iPhone XS Max",
    "iPhone11,6": "iPhone XS Max",
    
    "iPhone12,1": "iPhone 11",
    "iPhone12,3": "iPhone 11 Pro",
    "iPhone12,5": "iPhone 11 Pro Max",
    
    "iPhone12,8": "iPhone SE 2nd", // (2nd generation)
    "iPhone13,1": "iPhone 12 mini",
    "iPhone13,2": "iPhone 12",
    "iPhone13,3": "iPhone 12 Pro",
    "iPhone13,4": "iPhone 12 Pro Max",
    
    "iPhone14,4": "iPhone 13 mini",
    "iPhone14,5": "iPhone 13",
    "iPhone14,2": "iPhone 13 Pro",
    "iPhone14,3": "iPhone 13 Pro Max",
    
    "iPhone14,6": "iPhone SE 3rd", // (3rd generation)
    "iPhone14,7": "iPhone 14",
    "iPhone14,8": "iPhone 14 Plus",
    "iPhone15,2": "iPhone 14 Pro",
    "iPhone15,3": "iPhone 14 Pro Max",
    
    // 模拟器
    "i386": "iOS Simulator",
    "x86_64" : "iOS Simulator"
]

// MARK: - iPad机型
/**
 * 官方地址: https://www.theiphonewiki.com/wiki/Models
 */
public let iPadNames = [
    
    /* iPad */
    // iPad
    "iPad1,1": "iPad",
    "iPad1,2": "iPad 3G",
    
    /* iPad2 */
    // iPad
    "iPad2,1": "iPad 2 (WiFi)",
    "iPad2,2": "iPad 2",
    "iPad2,3": "iPad 2 (CDMA)",
    "iPad2,4": "iPad 2",
    // iPad mini
    "iPad2,5" : "iPad Mini (WiFi)",
    "iPad2,6" : "iPad Mini",
    "iPad2,7" : "iPad Mini (GSM+CDMA)",
    
    /* iPad3 */
    // iPad
    "iPad3,1": "iPad (3rd)(WiFi)", // 3rd generation
    "iPad3,2": "iPad (3rd)", // 3th generation
    "iPad3,3": "iPad (3rd)", // 3th generation
    "iPad3,4": "iPad (4th)(WiFi)", // 4th generation
    "iPad3,5": "iPad (4th)", // 4th generation
    "iPad3,6": "iPad (4th)(GSM+CDMA)", // 4th generation
    
    /* iPad4 */
    // iPad Air
    "iPad4,1": "iPad Air (WiFi)",
    "iPad4,2": "iPad Air (Cellular)",
    "iPad4,3": "iPad Air",
    // iPad mini
    "iPad4,4" : "iPad Mini 2 (WiFi)",
    "iPad4,5" : "iPad Mini 2 (Cellular)",
    "iPad4,6" : "iPad Mini 2",
    "iPad4,7" : "iPad Mini 3",
    "iPad4,8" : "iPad Mini 3",
    "iPad4,9" : "iPad Mini 3",
    
    /* iPad5 */
    // iPad mini
    "iPad5,1" : "iPad Mini 4 (WiFi)",
    "iPad5,2" : "iPad Mini 4 (LTE)",
    // iPad Air
    "iPad5,3": "iPad Air 2", // 2nd generation
    "iPad5,4": "iPad Air 2", // 2nd generation
    
    /* iPad6 */
    // iPad Pro
    "iPad6,3": "iPad Pro (9.7-inch)", // 9.7-inch
    "iPad6,4": "iPad Pro (9.7-inch)", // 9.7-inch
    "iPad6,7": "iPad Pro (12.9-inch)", // 12.9-inch
    "iPad6,8": "iPad Pro (12.9-inch)", // 12.9-inch
    // iPad
    "iPad6,11": "iPad (5th)", // 5th generation
    "iPad6,12": "iPad (5th)", // 5th generation
    
    /* iPad7 */
    // iPad Pro
    "iPad7,1": "iPad Pro (12.9-inch)(2nd)", // 12.9-inch, 2nd generation
    "iPad7,2": "iPad Pro (12.9-inch)(2nd)", // 12.9-inch, 2nd generation
    "iPad7,3": "iPad Pro (10.5-inch)", // 10.5-inch
    "iPad7,4": "iPad Pro (10.5-inch)", // 10.5-inch
    // iPad
    "iPad7,5" : "iPad (6th)", // 6th generation
    "iPad7,6" : "iPad (6th)", // 6th generation
    "iPad7,11": "iPad (7th)", // 7th generation
    "iPad7,12": "iPad (7th)", // 7th generation
    
    /* iPad8 */
    // iPad Pro
    "iPad8,1": "iPad Pro (11-inch)", // 11-inch
    "iPad8,2": "iPad Pro (11-inch)", // 11-inch
    "iPad8,3": "iPad Pro (11-inch)", // 11-inch
    "iPad8,4": "iPad Pro (11-inch)", // 11-inch
    "iPad8,5": "iPad Pro (12.9-inch)(3rd)", // 12.9-inch, 3rd generation
    "iPad8,6": "iPad Pro (12.9-inch)(3rd)", // 12.9-inch, 3rd generation
    "iPad8,7": "iPad Pro (12.9-inch)(3rd)", // 12.9-inch, 3rd generation
    "iPad8,8": "iPad Pro (12.9-inch)(3rd)", // 12.9-inch, 3rd generation
    "iPad8,9" : "iPad Pro (11-inch)(2nd)",  // 11-inch, 2nd generation
    "iPad8,10": "iPad Pro (11-inch)(2nd)",  // 11-inch, 2nd generation
    "iPad8,11": "iPad Pro (12.9-inch)(4th)", // 12.9-inch, 4th generation
    "iPad8,12": "iPad Pro (12.9-inch)(4th)", // 12.9-inch, 4th generation
    
    /* iPad11 */
    // iPad mini
    "iPad11,1": "iPad mini (5th)", // 5th generation
    "iPad11,2": "iPad mini (5th)", // 5th generation
    // iPad Air
    "iPad11,3" : "iPad Air (3rd)", // 3rd generation
    "iPad11,4" : "iPad Air (3rd)", // 3rd generation
    // iPad
    "iPad11,6": "iPad (8th)", // 8th generation
    "iPad11,7": "iPad (8th)", // 8th generation
    
    /* iPad12 */
    // iPad
    "iPad12,1": "iPad (9th)", // 9th generation
    "iPad12,2": "iPad (9th)", // 9th generation
    
    /* iPad13 */
    // iPad Air
    "iPad13,1" : "iPad Air (4th)", // 4th generation
    "iPad13,2" : "iPad Air (4th)", // 4th generation
    // iPad Pro
    "iPad13,4" : "iPad Pro (11-inch)(3rd)", // 11-inch, 3rd generation
    "iPad13,5" : "iPad Pro (11-inch)(3rd)", // 11-inch, 3rd generation
    "iPad13,6" : "iPad Pro (11-inch)(3rd)", // 11-inch, 3rd generation
    "iPad13,7" : "iPad Pro (11-inch)(3rd)", // 11-inch, 3rd generation
    "iPad13,8" : "iPad Pro (12.9-inch)(5th)", // 12.9-inch, 5th generation
    "iPad13,9" : "iPad Pro (12.9-inch)(5th)", // 12.9-inch, 5th generation
    "iPad13,10": "iPad Pro (12.9-inch)(5th)", // 12.9-inch, 5th generation
    "iPad13,11": "iPad Pro (12.9-inch)(5th)", // 12.9-inch, 5th generation
    // iPad Air
    "iPad13,16": "iPad Air (5th)", // 5th generation
    "iPad13,17": "iPad Air (5th)", // 5th generation
    // iPad
    "iPad13,18": "iPad (10th)", // 10th generation
    "iPad13,19": "iPad (10th)", // 10th generation
    
    /* iPad14 */
    // iPad mini
    "iPad14,1": "iPad mini (6th)", // 6th generation
    "iPad14,2": "iPad mini (6th)", // 6th generation
    
    // 模拟器
    "i386": "iOS Simulator",
    "x86_64" : "iOS Simulator"
]

// MARK: - iPod机型
/**
 * 官方地址: https://www.theiphonewiki.com/wiki/Models
 */
public let iPodNames = [
    
    // iPod
    "iPod1,1": "iPod Touch", // 1st generation
    "iPod2,1": "iPod Touch (2nd)", // 2nd generation
    "iPod3,1": "iPod Touch (3rd)", // 3rd generation
    "iPod4,1": "iPod Touch (4th)", // 4th generation
    "iPod5,1": "iPod Touch (5th)", // 5th generation
    "iPod7,1": "iPod Touch (6th)", // 6th generation
    "iPod9,1": "iPod Touch (7th)", // 7th generation
    
    // 模拟器
    "i386": "iOS Simulator",
    "x86_64" : "iOS Simulator"
]
